#ifndef HILO_H_
#define HILO_H_
#include <pthread.h>

class Hilo {
private:
	pthread_t threadId;
	static void *funcionAEjecutar(void *datos);
	bool corriendo;
	bool activo;

public:

	Hilo();
	virtual ~Hilo();
	virtual void ejecutar() = 0;

	pthread_t getHilo() const;
	void run();
	void stop();
    bool estaCorriendo();
    void unir();

    /* Recibe un valor booleano. Si recibe un true, indica que el estado
     * del hilo es inactivo. Caso contrario, el hilo esta activo.*/
    void setActividad(bool actividad);

    bool estaActivo() const;
};

#endif /* HILO_H_ */
